package com.dzl.order.service;

import com.dzl.base.service.BaseService;
import com.dzl.order.pojo.WelfareOrderGoods;
import com.dzl.order.pojo.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单商品表(WelfareOrderGoods)表服务接口
 * @author ChenLong
 * @date 2021-05-21 14:21:39
 */
public interface WelfareOrderGoodsService extends BaseService<WelfareOrderGoods> {

    /**
     * 通过订单id获取订单的卡支付明细
     * @date 2021/5/28 14:38
     * @author caobucao
     * @param orderId 订单id
     * @return java.util.List<com.dzl.order.pojo.vo.OrderPayCardVo>
     */
    List<OrderPayCardVo> selectOrderPayCarVo(Integer orderId);

    /**
     * 查询订单商品信息
     * @author ChenLong
     * @date 2021-06-10 20:47:06
     * @param orderId 订单id
     * @return java.util.List<com.dzl.order.pojo.vo.WelfareOrderGoodsCardVo>
     **/
    List<WelfareOrderGoodsCardVo> getOrderGoodsByOrderId(Integer orderId);

    /**
     * 查询订单商品产品信息
     * @param orderId 订单id
     * @return java.util.List
     * @author ChenLong
     * @date 2021-06-10 20:47:06
     **/
    WelfareOrderGoodsProductVo getOrderGoodsProductInfoByOrderId(Integer orderId);

    /**
     * 查询订单商品支付信息
     * @author ChenLong
     * @date 2021-06-23 16:26:37
     * @param orderId 订单id
     * @param type 查询类型
     * @return com.dzl.order.pojo.vo.WelfareOrderGoodsPayDetailVo
     **/
    WelfareOrderGoodsPayDetailVo getPaymentInfo(Integer orderId,Integer type);

    /**
     * 获取支付过的订单商品列表
     * @author ChenLong
     * @date 2021-08-20 10:15:26
     * @param cardSecretId 卡ID
     * @param goodsId 商品ID
     * @return java.util.List<com.dzl.order.pojo.WelfareOrderGoods>
     **/
    List<WelfareOrderGoods> getPaidOrderGoodsBySecretCardId(Integer cardSecretId,Integer goodsId);

    /**
     * 查询订单的商品信息
     * @date 2021/9/22 11:14
     * @author caobucao
     * @param orderId 订单id
     * @return java.util.List<com.dzl.order.pojo.vo.WelfareOrderGoodsVo>
     */
    List<WelfareOrderGoodsVo> selectOrderGoodsVoByOrderId(Integer orderId);

    /**
     * 根据订单id查询订单商品ids
     * @param orderIds 多订单id
     * @author liuguanjun
     * @date 2021-10-14 14:15:06
     **/
    List<WelfareOrderGoods> selectOrderGoodsByOrderIds(@Param("orderIds") String orderIds);
}
